জাভাস্ক্রিপ্ট টাইপঅফ (JS typeof)

Web Development - জাভাস্ক্রিপ্ট (JavaScript) জাভাস্ক্রিপ্ট ব্যাসিক (JS Basic Tutorial) |
289
289

জাভাস্ক্রিপ্টে typeof একটি অপারেটর যা একটি ভেরিয়েবলের ডেটা টাইপ বা প্রকার নির্ধারণ করতে ব্যবহৃত হয়। এটি সাধারণত ডেভেলপারদের কোডে ডেটার ধরন চেক করতে সহায়তা করে, যেমন স্ট্রিং, নাম্বার, অবজেক্ট, ফাংশন ইত্যাদি। typeof অপারেটরটি একটি এক্সপ্রেশন হিসেবে কাজ করে এবং এটি যে কোন মানের ডেটা টাইপ ফিরিয়ে দেয়।


typeof ব্যবহার

সিঙ্গেল ভ্যালু টাইপ চেক করা

যখন আপনি typeof অপারেটর ব্যবহার করেন, তখন এটি সংশ্লিষ্ট মানের টাইপ রিটার্ন করবে। নিচে কিছু উদাহরণ দেওয়া হলো:

let number = 10;
console.log(typeof number);  // আউটপুট: "number"

let name = "John";
console.log(typeof name);  // আউটপুট: "string"

let isTrue = true;
console.log(typeof isTrue);  // আউটপুট: "boolean"

let user = { name: "John", age: 30 };
console.log(typeof user);  // আউটপুট: "object"

let func = function() {};
console.log(typeof func);  // আউটপুট: "function"

এখানে, typeof বিভিন্ন ডেটা টাইপের মান চেক করে তাদের টাইপ ফিরিয়ে দিয়েছে।


typeof এর বৈশিষ্ট্য

প্রিমিটিভ ডেটা টাইপ

প্রিমিটিভ ডেটা টাইপ গুলো হলো string, number, boolean, undefined, symbol, এবং biginttypeof এর মাধ্যমে এগুলোর টাইপ চেক করা সম্ভব:

let str = "Hello";
console.log(typeof str);  // আউটপুট: "string"

let num = 123;
console.log(typeof num);  // আউটপুট: "number"

let bool = false;
console.log(typeof bool);  // আউটপুট: "boolean"

অবজেক্ট টাইপ

typeof ব্যবহার করলে অবজেক্ট টাইপের জন্য "object" রিটার্ন হবে, যেহেতু অবজেক্টগুলি জাভাস্ক্রিপ্টের একটি মৌলিক ডেটা টাইপ:

let person = { name: "John", age: 30 };
console.log(typeof person);  // আউটপুট: "object"

let arr = [1, 2, 3];
console.log(typeof arr);  // আউটপুট: "object" (এটি একটি অ্যারে হলেও typeof এ "object" দেখাবে)

এখানে দেখা যাচ্ছে যে, typeof আউটপুটে অ্যারে বা অবজেক্ট উভয়ের জন্য "object" দেখায়। যদিও অ্যারে প্রকৃতপক্ষে একটি বিশেষ ধরনের অবজেক্ট, তবে typeof এর মাধ্যমে আপনি অ্যারে চিহ্নিত করতে পারবেন না।

null এর জন্য typeof

একটি বিশেষ বিষয় হলো, typeof null এর জন্য "object" রিটার্ন করবে, যা অনেক ডেভেলপারকে বিভ্রান্ত করে:

let n = null;
console.log(typeof n);  // আউটপুট: "object"

এটি একটি জাভাস্ক্রিপ্টের পুরনো বাগ, এবং এখনও typeof null "object" রিটার্ন করে।


ফাংশন টাইপ

জাভাস্ক্রিপ্টের ফাংশন টাইপ চেক করতে typeof খুবই সহায়ক:

let myFunction = function() {};
console.log(typeof myFunction);  // আউটপুট: "function"

ফাংশনের জন্য typeof সবসময় "function" রিটার্ন করে।


typeof এর সীমাবদ্ধতা

অ্যারে চেক করার ক্ষেত্রে সমস্যা

typeof অপারেটর অ্যারে এবং সাধারণ অবজেক্টের মধ্যে পার্থক্য করতে পারে না। উভয়ের জন্য এটি "object" রিটার্ন করবে:

let arr = [1, 2, 3];
console.log(typeof arr);  // আউটপুট: "object"

let obj = { name: "John" };
console.log(typeof obj);  // আউটপুট: "object"

অতএব, যদি আপনি নিশ্চিত হতে চান যে একটি মান অ্যারে কিনা, তাহলে Array.isArray() মেথড ব্যবহার করতে হবে:

let arr = [1, 2, 3];
console.log(Array.isArray(arr));  // আউটপুট: true

সারাংশ

typeof জাভাস্ক্রিপ্টে একটি গুরুত্বপূর্ণ অপারেটর যা একটি মানের ডেটা টাইপ চেক করতে ব্যবহৃত হয়। এটি বিভিন্ন প্রিমিটিভ ডেটা টাইপ যেমন স্ট্রিং, নাম্বার, বুলিয়ান ইত্যাদির জন্য যথাযথ ফলাফল প্রদান করে, কিন্তু অ্যারে এবং null এর ক্ষেত্রে কিছু বিভ্রান্তি হতে পারে। অ্যারে চেক করতে Array.isArray() ব্যবহার করা উচিত। typeof ফাংশন এবং অবজেক্টের ক্ষেত্রেও সহায়ক, তবে null এবং অ্যারে চেক করার জন্য কিছু বিশেষ কৌশল অবলম্বন করা উচিত।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion